package api

import "log"

type AllowPrefix struct {
	prefixs []string
}

func NewAllowPrefix() *AllowPrefix {
	return &AllowPrefix{}
}

func (_this *AllowPrefix) Add(prefix string) {
	if prefix == "" {
		log.Fatal("prefix is invalid")
		return
	}
	if _this._findPrefix(prefix) != "" {
		log.Fatal("prefix is registed")
		return
	}
	_this.prefixs = append(_this.prefixs, prefix)
}

func (_this *AllowPrefix) _findPrefix(prefix string) string {
	prefixs := _this.prefixs
	retPrefix := ""
	for _, value := range prefixs {
		if value == prefix {
			retPrefix += value
			break
		}
	}
	return retPrefix
}

func (_this *AllowPrefix) GetPrefix(prefix string) string {
	if prefix == "" {
		log.Fatal("prefix is invalid")
		return ""
	}
	return _this._findPrefix(prefix)
}
